using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
using Microsoft.ApplicationBlocks.Data;
using Common;
using SystemFrameworks;
using AgentesSocioeconomicaData = MinCultura.Sipa.DataAccess.AgentesArtes.AgentesSocioeconomicaData;

namespace MinCultura.Sipa.AgentesArtes
{
	/// <summary>
	/// Clase de acceso a datos para la entidad ART_AGENTES_SOCIOECONOMICA
	/// </summary>
	public class AgentesSocioeconomica
	{
		#region Private Data Access Atributes

		private const String AGE_ID_PARAM = "@AGE_ID";
		private const String AGE_NRO_PERSONAS_CARGO_PARAM = "@AGE_NRO_PERSONAS_CARGO";
		private const String TIV_ID_PARAM = "@TIV_ID";
		private const String AGE_OTRO_TIPO_VIVIENDA_PARAM = "@AGE_OTRO_TIPO_VIVIENDA";
		private const String AGE_ESTRATO_PARAM = "@AGE_ESTRATO";
		private const String SLA_ID_PARAM = "@SLA_ID";
		private const String AGE_OTRA_SITUACION_LABORAL_PARAM = "@AGE_OTRA_SITUACION_LABORAL";
		private const String AGE_OTRA_ACTIVIDAD_PARAM = "@AGE_OTRA_ACTIVIDAD";
		private const String FIN_ID_PARAM = "@FIN_ID";
		private const String AGE_INGRESOS_DIRECTOS_MES_PARAM = "@AGE_INGRESOS_DIRECTOS_MES";
		private const String AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_PARAM = "@AGE_PORCENTAJE_ACTIVIDAD_ATISTICA";
		private const String AGE_SEGURIDAD_SOCIAL_SALUD_PARAM = "@AGE_SEGURIDAD_SOCIAL_SALUD";
		private const String REG_SALUD_ID_PARAM = "@REG_SALUD_ID";
		private const String AGE_SEGURIDAD_SOCIAL_PENSIONES_PARAM = "@AGE_SEGURIDAD_SOCIAL_PENSIONES";
		private const String REG_PENSIONES_ID_PARAM = "@REG_PENSIONES_ID";
		private const String AGE_SEGURIDAD_SOCIAL_RIESGOS_PARAM = "@AGE_SEGURIDAD_SOCIAL_RIESGOS";

		#endregion Private Data Access Atributes

        #region propiedades

        private string _cadenaConexion;

        public string ConnectionString
        {
            get { return _cadenaConexion; }
            set { _cadenaConexion = value; }
        }

        #endregion

		/// <summary>
		/// Constructor de la clase ARTAGENTESSOCIOECONOMICA
		/// </summary>
        public AgentesSocioeconomica(string strCadenaConecxion)
        {
            ConnectionString = strCadenaConecxion;
        }

		public AgentesSocioeconomicaData BuscarAgentesSocioeconomica()
		{
			AgentesSocioeconomicaData response = new AgentesSocioeconomicaData();
			try
			{
				SqlHelper.ExecuteDataTable(ConnectionString, CommandType.StoredProcedure, "PAS_BUSCAR_ART_AGENTES_SOCIOECONOMICA",
					response);
			}
			catch (SqlException sqlEx)
			{
				throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_BUSCAR_ART_AGENTES_SOCIOECONOMICA"), sqlEx);
			}
			catch (Exception ex)
			{
				throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorBuscar", this.GetType().FullName)+ ".<br>" + ex.Message, ex);
			}
			if (response.Rows.Count == 0)
				return null;
			return response;
		}


		public AgentesSocioeconomicaData ConsultarAgentesSocioeconomica(decimal parAGE_ID)
		{
			AgentesSocioeconomicaData response = new AgentesSocioeconomicaData();
			SqlParameter param1 = new SqlParameter(AGE_ID_PARAM, parAGE_ID);
			SqlParameter[] parameters = {param1};
			try
			{
				SqlHelper.ExecuteDataTable(ConnectionString, CommandType.StoredProcedure, "PAS_CONSULTAR_ART_AGENTES_SOCIOECONOMICA",
					response, parameters);
			}
			catch (SqlException sqlEx)
			{
				throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_CONSULTAR_ART_AGENTES_SOCIOECONOMICA"), sqlEx);
			}
			catch (Exception ex)
			{
				throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorConsultar", this.GetType().FullName)+ ".<br>" + ex.Message, ex);
			}
			if (response.Rows.Count == 0)
				return null;
			return response;
		}

		public void AdicionarAgentesSocioeconomica(AgentesSocioeconomicaData datos)

		{
			try
			{
				foreach (DataRow row in datos.Rows)
				{
					SqlParameter param1 = new SqlParameter(AGE_ID_PARAM, row[AgentesSocioeconomicaData.AGE_ID_FIELD]);
					SqlParameter param2 =
						new SqlParameter(AGE_NRO_PERSONAS_CARGO_PARAM, row[AgentesSocioeconomicaData.AGE_NRO_PERSONAS_CARGO_FIELD]);
					SqlParameter param3 = new SqlParameter(TIV_ID_PARAM, row[AgentesSocioeconomicaData.TIV_ID_FIELD]);
					SqlParameter param4 =
						new SqlParameter(AGE_OTRO_TIPO_VIVIENDA_PARAM, row[AgentesSocioeconomicaData.AGE_OTRO_TIPO_VIVIENDA_FIELD]);
					SqlParameter param5 = new SqlParameter(AGE_ESTRATO_PARAM, row[AgentesSocioeconomicaData.AGE_ESTRATO_FIELD]);
					SqlParameter param6 = new SqlParameter(SLA_ID_PARAM, row[AgentesSocioeconomicaData.SLA_ID_FIELD]);
					SqlParameter param7 =
						new SqlParameter(AGE_OTRA_SITUACION_LABORAL_PARAM, row[AgentesSocioeconomicaData.AGE_OTRA_SITUACION_LABORAL_FIELD]);
					SqlParameter param8 =
						new SqlParameter(AGE_OTRA_ACTIVIDAD_PARAM, row[AgentesSocioeconomicaData.AGE_OTRA_ACTIVIDAD_FIELD]);
					SqlParameter param9 = new SqlParameter(FIN_ID_PARAM, row[AgentesSocioeconomicaData.FIN_ID_FIELD]);
					SqlParameter param10 =
						new SqlParameter(AGE_INGRESOS_DIRECTOS_MES_PARAM, row[AgentesSocioeconomicaData.AGE_INGRESOS_DIRECTOS_MES_FIELD]);
					SqlParameter param11 =
						new SqlParameter(AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_PARAM,
						                 row[AgentesSocioeconomicaData.AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD]);
					SqlParameter param12 =
						new SqlParameter(AGE_SEGURIDAD_SOCIAL_SALUD_PARAM, row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_SALUD_FIELD]);
					SqlParameter param13 = new SqlParameter(REG_SALUD_ID_PARAM, row[AgentesSocioeconomicaData.REG_SALUD_ID_FIELD]);
					SqlParameter param14 =
						new SqlParameter(AGE_SEGURIDAD_SOCIAL_PENSIONES_PARAM,
						                 row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD]);
					SqlParameter param15 =
						new SqlParameter(REG_PENSIONES_ID_PARAM, row[AgentesSocioeconomicaData.REG_PENSIONES_ID_FIELD]);
					SqlParameter param16 =
						new SqlParameter(AGE_SEGURIDAD_SOCIAL_RIESGOS_PARAM,
						                 row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD]);
					SqlParameter[] parameters = {
					                            	param1, param2, param3, param4, param5, param6, param7, param8, param9, param10,
					                            	param11, param12, param13, param14, param15, param16
					                            };
					SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, "PAS_ADICIONAR_ART_AGENTES_SOCIOECONOMICA",
					                          parameters);
				}
			}
			catch (SqlException sqlEx)
			{
				throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_ADICIONAR_ART_AGENTES_SOCIOECONOMICA"), sqlEx);
			}
			catch (Exception ex)
			{
				throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorInsertar", this.GetType().FullName)+ ".<br>" + ex.Message, ex);
			}
		}
		public bool Adicionar(AgentesSocioeconomicaData datos,params SqlTransaction[] transaction)
		{
			bool response;
			try
			{
				foreach (DataRow row in datos.Rows)
				{
					SqlParameter param1 = new SqlParameter(AGE_ID_PARAM, row[AgentesSocioeconomicaData.AGE_ID_FIELD]);
					SqlParameter param2 = new SqlParameter(AGE_NRO_PERSONAS_CARGO_PARAM, row[AgentesSocioeconomicaData.AGE_NRO_PERSONAS_CARGO_FIELD]);
					SqlParameter param3 = new SqlParameter(TIV_ID_PARAM, row[AgentesSocioeconomicaData.TIV_ID_FIELD]);
					SqlParameter param4 = new SqlParameter(AGE_OTRO_TIPO_VIVIENDA_PARAM, row[AgentesSocioeconomicaData.AGE_OTRO_TIPO_VIVIENDA_FIELD]);
					SqlParameter param5 = new SqlParameter(AGE_ESTRATO_PARAM, row[AgentesSocioeconomicaData.AGE_ESTRATO_FIELD]);
					SqlParameter param6 = new SqlParameter(SLA_ID_PARAM, row[AgentesSocioeconomicaData.SLA_ID_FIELD]);
					SqlParameter param7 = new SqlParameter(AGE_OTRA_SITUACION_LABORAL_PARAM, row[AgentesSocioeconomicaData.AGE_OTRA_SITUACION_LABORAL_FIELD]);
					SqlParameter param8 = new SqlParameter(AGE_OTRA_ACTIVIDAD_PARAM, row[AgentesSocioeconomicaData.AGE_OTRA_ACTIVIDAD_FIELD]);
					SqlParameter param9 = new SqlParameter(FIN_ID_PARAM, row[AgentesSocioeconomicaData.FIN_ID_FIELD]);
					SqlParameter param10 = new SqlParameter(AGE_INGRESOS_DIRECTOS_MES_PARAM, row[AgentesSocioeconomicaData.AGE_INGRESOS_DIRECTOS_MES_FIELD]);
					SqlParameter param11 = new SqlParameter(AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_PARAM,row[AgentesSocioeconomicaData.AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD]);
					SqlParameter param12 = new SqlParameter(AGE_SEGURIDAD_SOCIAL_SALUD_PARAM, row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_SALUD_FIELD]);
					SqlParameter param13 = new SqlParameter(REG_SALUD_ID_PARAM, row[AgentesSocioeconomicaData.REG_SALUD_ID_FIELD]);
					SqlParameter param14 = new SqlParameter(AGE_SEGURIDAD_SOCIAL_PENSIONES_PARAM,row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD]);
					SqlParameter param15 = new SqlParameter(REG_PENSIONES_ID_PARAM, row[AgentesSocioeconomicaData.REG_PENSIONES_ID_FIELD]);
					SqlParameter param16 = new SqlParameter(AGE_SEGURIDAD_SOCIAL_RIESGOS_PARAM,row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD]);

					SqlParameter[] parameters = {
													param1, param2, param3, param4, param5, param6, param7, param8, param9, param10,
													param11, param12, param13, param14, param15, param16
												};
					if (transaction.Length > 0)
						SqlHelper.ExecuteNonQuery(transaction[0], CommandType.StoredProcedure, "PAS_ADICIONAR_ART_AGENTES_SOCIOECONOMICA",parameters);
					else
                        SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, "PAS_ADICIONAR_ART_AGENTES_SOCIOECONOMICA",parameters);
				}
				response = true;
			}
			catch (SqlException sqlEx)
			{
				throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_ADICIONAR_ART_AGENTES_SOCIOECONOMICA"), sqlEx);
			}
			catch (Exception ex)
			{
				throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorInsertar", this.GetType().FullName)+ ".<br>" + ex.Message, ex);
			}
			return response;
		}

		public void ActualizarAgentesSocioeconomica(AgentesSocioeconomicaData datos)
		{
			try
			{
				foreach (DataRow row in datos.Rows)
				{
					SqlParameter param1 = new SqlParameter(AGE_ID_PARAM, row[AgentesSocioeconomicaData.AGE_ID_FIELD]);
					SqlParameter param2 =
						new SqlParameter(AGE_NRO_PERSONAS_CARGO_PARAM, row[AgentesSocioeconomicaData.AGE_NRO_PERSONAS_CARGO_FIELD]);
					SqlParameter param3 = new SqlParameter(TIV_ID_PARAM, row[AgentesSocioeconomicaData.TIV_ID_FIELD]);
					SqlParameter param4 =
						new SqlParameter(AGE_OTRO_TIPO_VIVIENDA_PARAM, row[AgentesSocioeconomicaData.AGE_OTRO_TIPO_VIVIENDA_FIELD]);
					SqlParameter param5 = new SqlParameter(AGE_ESTRATO_PARAM, row[AgentesSocioeconomicaData.AGE_ESTRATO_FIELD]);
					SqlParameter param6 = new SqlParameter(SLA_ID_PARAM, row[AgentesSocioeconomicaData.SLA_ID_FIELD]);
					SqlParameter param7 =
						new SqlParameter(AGE_OTRA_SITUACION_LABORAL_PARAM, row[AgentesSocioeconomicaData.AGE_OTRA_SITUACION_LABORAL_FIELD]);
					SqlParameter param8 =
						new SqlParameter(AGE_OTRA_ACTIVIDAD_PARAM, row[AgentesSocioeconomicaData.AGE_OTRA_ACTIVIDAD_FIELD]);
					SqlParameter param9 = new SqlParameter(FIN_ID_PARAM, row[AgentesSocioeconomicaData.FIN_ID_FIELD]);
					//SqlParameter param10 = new SqlParameter(AGE_INGRESOS_DIRECTOS_MES_PARAM, System.DBNull.Value);
					SqlParameter param11 =
						new SqlParameter(AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_PARAM,
						                 row[AgentesSocioeconomicaData.AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD]);
					SqlParameter param12 =
						new SqlParameter(AGE_SEGURIDAD_SOCIAL_SALUD_PARAM, row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_SALUD_FIELD]);
					SqlParameter param13 = new SqlParameter(REG_SALUD_ID_PARAM, row[AgentesSocioeconomicaData.REG_SALUD_ID_FIELD]);
					SqlParameter param14 =
						new SqlParameter(AGE_SEGURIDAD_SOCIAL_PENSIONES_PARAM,
						                 row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD]);
					SqlParameter param15 =
						new SqlParameter(REG_PENSIONES_ID_PARAM, row[AgentesSocioeconomicaData.REG_PENSIONES_ID_FIELD]);
					SqlParameter param16 =
						new SqlParameter(AGE_SEGURIDAD_SOCIAL_RIESGOS_PARAM,
						                 row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD]);

					SqlParameter[] parameters = {
					                            	param1, param2, param3, param4, param5, param6, param7, param8, param9, param11,
					                            	param12, param13, param14, param15, param16
					                            };
					SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure,
					                          "PAS_ACTUALIZAR_ART_AGENTES_SOCIOECONOMICA", parameters);
				}
			}
			catch (SqlException sqlEx)
			{
				throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_ACTUALIZAR_ART_AGENTES_SOCIOECONOMICA"), sqlEx);
			}
			catch (Exception ex)
			{
				throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorActualizar", this.GetType().FullName)+ ".<br>" + ex.Message, ex);
			}
		}

		public bool Actualizar(AgentesSocioeconomicaData datos,params SqlTransaction[] transaction)
		{
			int cant=0;
			bool response;
			try
			{
				foreach (DataRow row in datos.Rows)
				{
					SqlParameter param1 = new SqlParameter(AGE_ID_PARAM, row[AgentesSocioeconomicaData.AGE_ID_FIELD]);
					SqlParameter param2 =
						new SqlParameter(AGE_NRO_PERSONAS_CARGO_PARAM, row[AgentesSocioeconomicaData.AGE_NRO_PERSONAS_CARGO_FIELD]);
					SqlParameter param3 = new SqlParameter(TIV_ID_PARAM, row[AgentesSocioeconomicaData.TIV_ID_FIELD]);
					SqlParameter param4 =
						new SqlParameter(AGE_OTRO_TIPO_VIVIENDA_PARAM, row[AgentesSocioeconomicaData.AGE_OTRO_TIPO_VIVIENDA_FIELD]);
					SqlParameter param5 = new SqlParameter(AGE_ESTRATO_PARAM, row[AgentesSocioeconomicaData.AGE_ESTRATO_FIELD]);
					SqlParameter param6 = new SqlParameter(SLA_ID_PARAM, row[AgentesSocioeconomicaData.SLA_ID_FIELD]);
					SqlParameter param7 =
						new SqlParameter(AGE_OTRA_SITUACION_LABORAL_PARAM, row[AgentesSocioeconomicaData.AGE_OTRA_SITUACION_LABORAL_FIELD]);
					SqlParameter param8 =
						new SqlParameter(AGE_OTRA_ACTIVIDAD_PARAM, row[AgentesSocioeconomicaData.AGE_OTRA_ACTIVIDAD_FIELD]);
					SqlParameter param9 = new SqlParameter(FIN_ID_PARAM, row[AgentesSocioeconomicaData.FIN_ID_FIELD]);
					//SqlParameter param10 = new SqlParameter(AGE_INGRESOS_DIRECTOS_MES_PARAM, System.DBNull.Value);
					SqlParameter param11 =
						new SqlParameter(AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_PARAM,
						                 row[AgentesSocioeconomicaData.AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD]);
					SqlParameter param12 =
						new SqlParameter(AGE_SEGURIDAD_SOCIAL_SALUD_PARAM, row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_SALUD_FIELD]);
					SqlParameter param13 = new SqlParameter(REG_SALUD_ID_PARAM, row[AgentesSocioeconomicaData.REG_SALUD_ID_FIELD]);
					SqlParameter param14 =
						new SqlParameter(AGE_SEGURIDAD_SOCIAL_PENSIONES_PARAM,
						                 row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD]);
					SqlParameter param15 =
						new SqlParameter(REG_PENSIONES_ID_PARAM, row[AgentesSocioeconomicaData.REG_PENSIONES_ID_FIELD]);
					SqlParameter param16 =
						new SqlParameter(AGE_SEGURIDAD_SOCIAL_RIESGOS_PARAM,
						                 row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD]);

					SqlParameter[] parameters = {
					                            	param1, param2, param3, param4, param5, param6, param7, param8, param9, param11,
					                            	param12, param13, param14, param15, param16
					                            };
					if (transaction.Length>0)
						cant += SqlHelper.ExecuteNonQuery(transaction[0], CommandType.StoredProcedure,"PAS_ACTUALIZAR_ART_AGENTES_SOCIOECONOMICA", parameters);
					else
            cant += SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure,"PAS_ACTUALIZAR_ART_AGENTES_SOCIOECONOMICA", parameters);
				}
				if (cant>0)
					response = true;
				else
					response = false;
			}
			catch (SqlException sqlEx)
			{
				throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_ACTUALIZAR_ART_AGENTES_SOCIOECONOMICA"), sqlEx);
			}
			catch (Exception ex)
			{
				throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorActualizar", this.GetType().FullName)+ ".<br>" + ex.Message, ex);
			}
			return response;
		}

		/// <summary>
		/// Elimina un registro de la entidad Artagentessocioeconomica
		/// </summary>
		/// <param name="parAGE_ID">Identificador del registro
		public void Eliminar(decimal parAGE_ID,params SqlTransaction[] transaction)
		{			
			SqlParameter param1 = new SqlParameter(AGE_ID_PARAM, parAGE_ID);
			SqlParameter[] parameters = {param1};
			try
			{				
				if (transaction.Length>0)
					SqlHelper.ExecuteNonQuery(transaction[0], CommandType.StoredProcedure, "PAS_ELIMINAR_ART_AGENTES_SOCIOECONOMICA",parameters);
				else				
					SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, "PAS_ELIMINAR_ART_AGENTES_SOCIOECONOMICA",parameters);				
			}
			catch (SqlException sqlEx)
			{
				throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_ELIMINAR_ART_AGENTES_SOCIOECONOMICA"), sqlEx);
			}
			catch (Exception ex)
			{
				throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorEliminar", this.GetType().FullName) + ".<br>" + ex.Message, ex);
			}			
		}

		/// <summary>
		/// Elimina un registro de la entidad Artagentessocioeconomica
		/// </summary>
		/// <param name="parAGE_ID">Identificador del registro
		public void EliminarAgentesSocioeconomica(decimal parAGE_ID)
		{
			SqlParameter param1 = new SqlParameter(AGE_ID_PARAM, parAGE_ID);
			SqlParameter[] parameters = {param1};
			try
			{				
				SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, "PAS_ELIMINAR_ART_AGENTES_SOCIOECONOMICA",parameters);
			}
			catch (SqlException sqlEx)
			{
				throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_ELIMINAR_ART_AGENTES_SOCIOECONOMICA"), sqlEx);
			}
			catch (Exception ex)
			{
				throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorEliminar", this.GetType().FullName)+ ".<br>" + ex.Message, ex);
			}
		}

		public void EliminarAgentesSocioeconomica(ArrayList arrIDs)
		{
			SqlConnection objConnection = new SqlConnection(ConnectionString);
			objConnection.Open();
			SqlTransaction objTrans = objConnection.BeginTransaction();
			foreach (object Item in arrIDs)
			{
				SqlParameter param1 = new SqlParameter(AGE_ID_PARAM, decimal.Parse(Item.ToString()));
				SqlParameter[] parameters = {param1};
				try
				{				
					SqlHelper.ExecuteNonQuery(objTrans, CommandType.StoredProcedure, "PAS_ELIMINAR_ART_AGENTES_SOCIOECONOMICA",parameters);								
				}
				catch (SqlException sqlEx)
				{
					objTrans.Rollback();
					objConnection.Close();
					throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_ELIMINAR_ART_AGENTES_SOCIOECONOMICA"), sqlEx);
				}
				catch (Exception ex)
				{
					objTrans.Rollback();
					objConnection.Close();
					throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorEliminar", this.GetType().FullName)+ ".<br>" + ex.Message, ex);
				}			
			}
			objTrans.Commit();
			objConnection.Close();
		}
	}
}